package model.persistence;


import java.util.List;

import model.core.torneo.Classifica;
import model.core.torneo.Commissione;
import model.core.torneo.Gara;
import model.core.torneo.Torneo;
import model.core.utente.Commissario;
import model.core.utente.GiocatoreInterface;

/**
 * 
 * @author Giuseppe Fusco (fusgius19@gmail.com)
 *
 */
public interface TorneoDAO extends DomainDAO {

	public abstract void removeCommissarioFromTorneo(Commissario co, Torneo torneo) throws Exception;
	
	public abstract void addCommissarioToTorneo(Commissario co, Torneo torneo) throws Exception;
	
	public abstract void addGiocatoreToTorneo(GiocatoreInterface gi, Torneo torneo) throws Exception;
	
	public abstract void removeGiocatoreFromTorneo(GiocatoreInterface gi, Torneo torneo) throws Exception;
	
	public abstract Classifica getClassificaByTorneo(Torneo torneo);
	
	public abstract Commissione getCommissioneByTorneo(Torneo torneo);
	
	public abstract List<Gara> getCalendarioByTorneo(Torneo torneo);
	
	public abstract boolean insertCalendario(Torneo torneo);
	
	public abstract boolean deleteCalendario(Torneo torneo);
	
	public abstract boolean deleteCommissione(Torneo torneo);
	
	public abstract boolean deleteClassifica(Torneo torneo);
	
}
